1. Technical Field of the Invention
The present invention generally relates to presence-aware communication networks. More particularly, and not by way of any limitation, the present invention is directed to a system and method for provisioning presence application services using a customizable presence data model.
2. Description of Related Art
With today's widespread use of the Internet as a major communication medium, data communication devices are now being designed so that they are capable of communicating over packet-switched networks. For instance, telephones, pagers, personal digital assistant devices, cell phones, handheld computers, and even fax machines can now be accessed and controlled from the Internet. Communication over a packet-switched network using communication devices that traditionally communicate over a circuit-switched telecommunications network is generally known as network telephony, or IP telephony when an IP network is involved.
Various types of user communication devices (e.g., a cell phone, laptop or handheld PC, desktop PC, and the like) can identify themselves to the network using a suitable identifier (e.g., username@company.com). “Presence” refers to, for example, the availability, proximity, activity level or operating state of a user on a network. The ability for users to monitor each other's presence is a feature offered in connection with many applications that support network telephony. For example, instant messaging applications such as MSN® or Yahoo® have an “available buddy” feature, in which a user of the application can determine whether select users are available for engaging in communication. The data retrieved and returned to the buddy list, e.g. “John OFFLINE” or “Susan ACTIVE”, is known as “presence information,” and is generally maintained by a presence server in the data network, often a dedicated server. Typically, the presence server supports network telephony protocols such as the Session Initiation Protocol (SIP). Users can register their communication devices with the presence server in order to have their presence maintained and to allow various programs on the network to facilitate network telephony services. A first device user wishing to detect the presence of a second device user does so by “subscribing” with the presence server, such as via a SIP SUBSCRIBE message. The presence server intermediates between the first device user (also known as the watcher or subscriber) and the second device user to facilitate the communication of the second device user's presence information to the first device user.
Additional details about presence and presence modeling are set forth in the Internet Engineering Task Force (IETF) Request for Comment (RFC) 2778 entitled “A model for Presence and Instant Messaging,” dated February 2002; RFC 2779 entitled “Instant Messaging/Presence Protocol Requirements,” dated February 2002; and Internet-Draft identified as <<draft-schulzrinne-simple-rpids-01.ps>> and entitled “RPIDS—Rich Presence Information Data Format for Presence Based on the Session Initiation Protocol (SIP),” dated Feb. 18, 2003, which are incorporated herein by reference.
Inasmuch as conventional presence systems have been useful in a variety of applications, only a few forms of presence are currently in use in today's telecommunications networks as exemplified hereinabove. On the other hand, as the technology evolves and more presence-aware networks become deployed in diverse fields, there arises a need to accommodate many forms and types of presence in the future. Newer forms of presence may appear whereas some old forms may disappear over time. Provisioning additional presence forms adaptable for multiple applications is particularly difficult in the existing systems, however, because of their hardwired application-specific implementation which necessitates expensive reconfiguration and recompilation.